<?php
class mensajes
{
	private $tpl;
	
	public function __construct($tpl = null)
	{
		$this->tpl = & $tpl;
	}
	
	public function _condition()
	{
		return array(
			'lista' => array(  '__menu_proyecto' ,'lista'  ),
			'sin_menu' => array(  'sin_menu'  ),
			'mensajes' => explode(',','__menu,sin_menu,con_menu'),
			'vista_condicional' => array( '__menu', empty($_GET['OCULTO'])? 'mostrar_oculto' : 'vista_condicional' )
		);
	}
	public function __menu_proyecto($id){$this->tpl->MENU = $this->tpl->parse('menu_proyecto')->assign('ID',$id)->render();}
	public function _default()
	{
		$this->__menu();
		return "se cargara todo por defecto";
	}
	public function lista($id)
	{
		$this->_agregar($id);
		$this->tpl->parse('mensajes/lista');
		$this->tpl->assign('MENSAJES', DB::SELECT('mensajes',array('*',"CONCAT(fecha,'".date('O')."') as datetime"),
		'WHERE proyecto_id=? AND parent_mensaje_id=0 ORDER BY mensaje_id DESC')->set($id));
//		$this->tpl->assign('ID',$id);
		return $this->tpl->render();
	}
	public function __call($name,$args)
	{
		$this->__menu_proyecto(@$args[0]);
		return "No existe este metodo $name";
		
	}
	public function _agregar($id)
	{
		if(!empty($_POST['mensajes']) && !empty(XAUTH::$user->email))
		{
			$M = &$_POST['mensajes'];
			$cols = array('proyecto_id','asunto','mensaje','email','fecha','parent_mensaje_id');
			$M['parent_mensaje_id'] = !empty($_POST['parent_mensaje_id']) && $_POST['parent_mensaje_id'] > 0?$_POST['parent_mensaje_id'] : 0;
			$M['proyecto_id'] = $id;
			$M['email'] = XAUTH::$user->email;
			DB::INSERT('mensajes',$cols,NULL,array('fecha' => 'NOW()'))->set($M);
		}
	}
	public function _getMessages($id)
	{
		/*return 
		"mostrar_los_mensaes($id,"
		.json_encode(DB::SELECT('mensajes','*','WHERE mensaje_id=? OR parent_mensaje_id=? ORDER BY mensaje_id DESC')->set($id,$id)->fetchAll(DB::FETCH_ASSOC))
		.")";
		;
		*/
		//date('%O');
		return json_encode(DB::SELECT('mensajes',array('*',"CONCAT(fecha,'".date('O')."') as datetime"
		),
					'WHERE parent_mensaje_id=? ORDER BY mensaje_id ASC')->set($id)->fetchAll(DB::FETCH_ASSOC));
	}
}